#!/usr/bin/env ruby


##################################################################
# Example for testing user defined kernel computation            #
##################################################################

$LOAD_PATH << File.expand_path("../../../lib/rubyFulguro/fulguro")

require 'fulguro'
include Fulguro

### PROCEDURES #########################################################

def getNhbMin(result,extr)
  for k in (0..extr.spp-1)
    t=extr[k][2]
    result[k]=t.max-t.min
  end
end
  

minFct = Proc.new{|result,extr| getNhbMin(result,extr)}

##################################################################
### MAIN #########################################################
##################################################################

imin = flgr2d_load_png("../../images/color/lena.png")
imout = FLGR_Data2D.new(imin)
nhb1 = FLGR_Data2D.new(imin.spp,imin.type,FLGR_8_CONNEX)

flgr2d_raster_slide_window(imout,imin,nhb1, FLGR_NHB_NO_SYM, minFct)


flgr2d_save_png(imout,"filter.png")
